export default {
  common: {
    save: 'Save',
    cancel: 'Cancel',
    edit: 'Edit',
    delete: 'Delete',
    confirm: 'Confirm',
    loading: 'Loading...',
    noMore: 'No more data~',
    back: 'Back',
    cardUnit: 'cards',
    saveFailed: 'Failed to save',
    saving: 'Saving...',
    more: 'More',
    search: 'Search',
    batchDelete: 'Batch Delete',
    selected: 'Selected',
    items: 'items',
    selectAll: 'Select All',
    unselectAll: 'Unselect All',
    loadMore: 'Load More',
    noData: 'No Data',
    scrollToLoadMore: 'Scroll down to load more content',
    createSuccess: 'Created successfully',
    createFailed: 'Failed to create',
    loadFailed: 'Failed to load',
    updateFailed: 'Failed to update',
    saved: 'Favorited',
    unsaved: 'Removed from favorites',
    index: 'No.',
    title: 'Title',
    tags: 'Tags',
    noTags: 'No tags',
    operations: 'Operations',
    deleteSuccess: 'Deleted successfully',
    deleteFailed: 'Failed to delete'
  },
  header: {
    kanbanBoard: 'Schedule board',
    tableBoard: 'Table board',
    bucketBoard: 'Bucket board',
    favoritesBoard: 'Favorites board',
    trashBin: 'Trash Bin',
    byProject: 'By project',
    addTab: 'Add tab',
    refresh: 'Refresh',
    settings: 'Settings'
  },
  table: {
    title: 'Title',
    bucket: 'Bucket',
    tags: 'Tags',
    startTime: 'Start Time',
    createdAt: 'Created At',
    updatedAt: 'Updated At',
    actions: 'Actions',
    index: 'No.',
    noData: 'No Data',
    loadError: 'Failed to load data',
    total: 'Total {total}',
    itemsPerPage: '/page',
    gotoPage: 'Go to',
    page: ''
  },
  settings: {
    title: 'Editor Settings',
    uploadUrl: 'Upload URL',
    token: 'Auth Token',
    uploadUrlPlaceholder: 'Enter media upload URL',
    tokenPlaceholder: 'Enter authentication token',
    saveSuccess: 'Settings saved successfully',
    
    general: 'General',
    editorSettings: 'Editor Settings',
    appearance: 'Appearance',
    buckets: 'Buckets',
    dataSource: 'Data Source',
    about: 'About',
    
    language: 'Language',
    dateFormat: 'Date Format',
    timeFormat: 'Time Format',
    dateFormatTip: 'Set display format for dates across all pages',
    timeFormatTip: 'Set display format for times across all pages',
    time24Hour: '24-hour',
    time12Hour: '12-hour',
    showSeconds: 'Show Seconds',
    showSecondsTip: 'Whether to include seconds when displaying time',
    pageSize: 'Cards per Page',
    pageSizeTip: 'Set the number of cards to load each time. Larger values may affect performance',
    pageSizeOptions: 'Page Size Options',
    pageSizeOptionsTip: 'Set the selectable page size values in pagination bar, please select at least one option',
    pageSizeOptionsPlaceholder: 'Please select page size options',
    customPageSize: 'Custom size',
    custom: 'Custom',
    add: 'Add',
    quickOptions: 'Quick Options',
    addCustomPageSize: 'Add custom page size',
    noOptionsSelected: 'Please add page size options',
    maxLoadPages: 'Maximum Auto-load Pages',
    maxLoadPagesTip: 'Set the maximum number of pages to load automatically to prevent performance issues',
    autoLoadAllCards: 'Auto load all cards',
    autoLoadAllCardsTip: 'When enabled, all cards will be loaded automatically; when disabled, cards will be loaded by pages',
    
    // External link access mode
    externalLinkOpenMode: 'External Link Opening Mode',
    externalLinkOpenModeTitle: 'Choose how to open external links',
    externalLinkOpenModeBrowser: 'Open in local browser',
    externalLinkOpenModeInternal: 'Open in application',
    externalLinkOpenModeTip: 'Set how external links are opened when clicked',
    
    unsavedChangesTitle: 'Unsaved Changes',
    unsavedChangesMessage: 'You have modified settings but haven\'t saved them. Changes will be lost if you leave. Do you want to exit?',
    exit: 'Exit',
    stayOnPage: 'Stay on Page',
    
    defaultEditorMode: 'Default Editor Mode',
    richText: 'Rich Text',
    markdown: 'Markdown',
    autoSave: 'Auto Save',
    autoSaveInterval: 'Auto Save Interval',
    uploadUrlTip: 'Set the API endpoint for uploading images, videos and other media files',
    tokenTip: 'Set the authentication token needed to access the upload API',
    autoSaveTip: 'When enabled, document will be saved automatically at the specified interval',
    minutes: 'minutes',
    
    theme: 'Theme',
    systemTheme: 'System Default',
    lightTheme: 'Light',
    darkTheme: 'Dark',
    fontSize: 'Font Size',
    fontFamily: 'Font Family',
    
    version: 'Version',
    appDescription: 'A simple and efficient note-taking application',
    checkUpdates: 'Check for Updates',
    feedback: 'Send Feedback',
    
    reset: 'Reset Settings',
    resetTitle: 'Reset Settings',
    resetConfirm: 'Are you sure you want to reset all settings to default values?',
    resetSuccess: 'Settings have been reset',
    
    // Data source settings
    dataSourceSettings: 'Data Source Settings',
    dataSourceType: 'Data Source',
    localSource: 'Local Storage',
    remoteSource: 'Remote Server',
    apiBaseUrl: 'API Base URL',
    useMockData: 'Use Mock Data',
    useMockDataTip: 'For development and testing, no real API connection',
    dataSourceSaveSuccess: 'Data source settings saved successfully',
    dataSourceSaveFailed: 'Failed to save data source settings',
    apiBaseUrlPlaceholder: 'Example: http://localhost:8080/api',
    localSavePath: 'Card Save Path',
    localSavePathPlaceholder: 'Enter local card save path',
    localSavePathTip: 'Set the path where card data will be saved locally, leave empty to use default path',
    selectFolder: 'Select Folder',
    selectFolderFailed: 'Failed to select folder',
    defaultSavePath: 'Default Save Path',
    
    // Trash bin settings
    trashSettings: 'Trash Bin Settings',
    trashPath: 'Trash Bin Path',
    trashPathPlaceholder: 'Enter trash bin path',
    trashPathTip: 'Set the path where deleted cards will be stored, leave empty to use default path',
    defaultTrashPath: 'Default Trash Path',
    
    // Bucket management
    bucketSettings: 'Bucket Management',
    bucketManagement: 'Bucket Names',
    bucketManagementTip: 'Add and remove bucket names for categorizing cards',
    bucketNamePlaceholder: 'Enter bucket name',
    addBucket: 'Add Bucket',
    bucketNameEmpty: 'Bucket name cannot be empty',
    bucketNameTooLong: 'Bucket name cannot exceed 50 characters',
    bucketAddSuccess: 'Bucket added successfully',
    bucketAddFailed: 'Failed to add bucket',
    bucketDeleteConfirm: 'Are you sure you want to delete bucket "{name}"?',
    bucketDeleteSuccess: 'Bucket deleted successfully',
    bucketDeleteFailed: 'Failed to delete bucket',
    bucketName: 'Bucket Name',
    createdTime: 'Created Time',
    updatedTime: 'Updated Time',
    operations: 'Operations',
    // Add translations for specific time type format settings
    timeTypeFormats: 'Specific Time Type Format Settings',
    startTimeFormat: 'Start Time Format',
    createdTimeFormat: 'Created Time Format',
    updatedTimeFormat: 'Updated Time Format',
    showTime: 'Show Time',
    showTimeTip: 'Whether to show time next to the date',
  },
  calendar: {
    prevYear: 'Previous Year',
    prevMonth: 'Previous Month',
    today: 'Today',
    nextMonth: 'Next Month',
    nextYear: 'Next Year',
    clearSelection: 'Clear Selection',
    createCardHere: 'Create Card',
  },
  homepage: {
    createCard: 'Create Card',
    searchPlaceholder: 'Search title or content',
    loadedCards: 'Loaded Cards',
    currentFilter: 'Current Filter',
    startTime: 'Start Time',
  },
  cardEditor: {
    untitledDoc: 'Untitled Document',
    bucketName: 'Bucket Name',
    editing: 'Editing...',
    saved: 'Saved',
    toggleMarkdown: 'Toggle Markdown Mode',
    fullscreen: 'Fullscreen',
    addTag: '+ Add Tag',
    tagLimit: 'Max 3 tags',
    tagExists: 'Tag already exists',
    maxTags: 'You can add up to 3 tags',
    inputContent: 'Enter card content here...',
    pleaseInputTitle: 'Please enter a title',
    pleaseInputContent: 'Please enter content',
    saveSuccess: 'Card saved successfully',
    unsavedChanges: 'You have unsaved changes. Are you sure you want to leave?',
    confirmCancel: 'You have unsaved changes. Are you sure you want to cancel?',
    tags: 'Tags',
    openUrlFailed: 'Failed to open URL',
  },
  viewCard: {
    textView: 'Rich Text View',
    markdownView: 'Markdown View',
    editDoc: 'Edit Document',
    download: 'Download',
    share: 'Share',
    fullscreen: 'Fullscreen',
    delete: 'Delete',
    deleteConfirm: 'Are you sure you want to delete this card? This action cannot be undone.',
    deleteSuccess: 'Card deleted successfully',
    deleteFailed: 'Failed to delete card',
    loadingText: 'Loading...',
    lastUpdated: 'updated',
    markdownMode: 'Markdown',
    richTextMode: 'Rich Text',
    startTime: 'Start Time',
    createdAt: 'Created at',
    downloadMarkdown: 'Markdown',
    downloadHtml: 'HTML',
    downloading: 'Downloading...',
    downloadSuccess: 'Downloaded successfully',
    downloadFailed: 'Download failed',
    noContentToDownload: 'No content to download',
    noMarkdownContent: 'No Markdown content to download',
    multipleImagesFound: 'Multiple images found, will download the first one',
    noImageFound: 'No image found',
    wordCount: 'words',
    fullscreenFailed: 'Failed to enter fullscreen',
    exitFullscreenFailed: 'Failed to exit fullscreen',
    shareDeveloping: 'Share feature is under development',
    fetchFailed: 'Failed to fetch card',
    cardNotFound: 'Card not found',
    batchDeleteSuccess: 'Successfully deleted {count} cards',
    batchDeleteFailed: 'Batch delete failed',
    batchDeleteConfirm: 'Are you sure you want to delete {count} selected cards? This action cannot be undone.',
    openUrlFailed: 'Failed to open URL',
  },
  bucketBoard: {
    uncategorized: 'Uncategorized',
    noContent: 'No content',
    groupBy: 'Group by',
    emptyCategoryTip: 'No cards',
    addToBucket: 'Add to bucket',
    cardCount: 'Card count',
    deleteConfirmText: 'Are you sure to delete this card? This action cannot be undone.',
    warning: 'Warning',
    deleteSuccess: 'Card deleted successfully',
    deleteFailed: 'Failed to delete card',
    addWithTag: 'Add card with this tag',
    addTagGroup: 'Add tag group'
  },
  markdown: {
    tips: {
      title: 'Markdown Syntax Tips:',
      headers: {
        title: 'Headers',
        content: ['# Header 1', '## Header 2', '### Header 3']
      },
      textFormat: {
        title: 'Text Format',
        content: ['**Bold**', '*Italic*', '~~Strikethrough~~']
      },
      lists: {
        title: 'Lists',
        content: ['1. Ordered List', '- Unordered List', '- [ ] Task']
      },
      quotesAndCode: {
        title: 'Quotes and Code',
        content: ['> Quote', '`Code`', '```Code Block```']
      },
      linksAndImages: {
        title: 'Links and Images',
        content: ['[Link](URL)', '![Image](URL)']
      },
      tables: {
        title: 'Tables',
        content: ['| Header | Header |', '| --- | --- |', '| Content | Content |']
      }
    }
  },
  batchDelete: {
    success: 'Successfully deleted {count} cards',
    failed: 'Batch delete failed',
    confirm: 'Are you sure you want to delete {count} selected cards? This action cannot be undone.',
    batchDeleteSuccess: 'Successfully deleted {count} cards',
    batchDeleteFailed: 'Batch delete failed',
    batchDeleteConfirm: 'Are you sure you want to delete {count} selected cards? This action cannot be undone.'
  },
  errors: {
    networkError: 'Network error, please check your internet connection',
    apiError: 'API request failed: {0}',
    cardNotFound: 'Card not found',
    serverError: 'Server error: {0}',
    unknownError: 'Unknown error',
    fetchCardsFailed: 'Failed to fetch card list',
    fetchCardFailed: 'Failed to fetch card details',
    createCardFailed: 'Failed to create card',
    updateCardFailed: 'Failed to update card',
    deleteCardFailed: 'Failed to delete card',
    batchDeleteFailed: 'Failed to batch delete cards',
    openUrlError: 'Failed to open link, please try again later'
  },
  trash: {
    title: 'Card Trash Bin',
    emptyTrash: 'Empty Trash',
    emptyTrashTooltip: 'Permanently delete all cards',
    emptyAlert: 'Trash bin is empty',
    explanation: 'Cards in the trash bin will be kept until you manually delete them',
    noCards: 'No cards in trash bin',
    restore: 'Restore',
    restoreTooltip: 'Restore card to normal storage',
    delete: 'Delete',
    deleteTooltip: 'Permanently delete this card',
    trashedDate: 'Deleted On',
    deleteConfirm: 'Are you sure you want to permanently delete this card? This action cannot be undone.',
    restoreSuccess: 'Card restored successfully',
    restoreFailed: 'Failed to restore card',
    deleteSuccess: 'Card permanently deleted',
    deleteFailed: 'Failed to permanently delete card',
    emptyTrashConfirm: 'Are you sure you want to empty the trash bin? All cards will be permanently deleted. This action cannot be undone.',
    emptyTrashSuccess: 'Trash bin emptied successfully',
    emptyTrashFailed: 'Failed to empty trash bin',
    loadFailed: 'Failed to load trash bin cards',
    batchRestore: 'Restore {count} selected cards',
    batchDelete: 'Delete {count} selected cards',
    batchRestoreConfirm: 'Are you sure you want to restore {count} selected cards?',
    batchDeleteConfirm: 'Are you sure you want to permanently delete {count} selected cards? This action cannot be undone.',
    batchRestoreSuccess: 'Successfully restored {count} cards',
    batchRestoreFailed: 'Batch restore failed',
    batchDeleteSuccess: 'Successfully deleted {count} cards',
    batchDeleteFailed: 'Batch permanent delete failed'
  }
}